/**
 * DEPENDENCIAS:
 * modulo meusGerenciamentoDeErros.js
 * modulo meusPopups.js
 * 
 * FUNCIONALIDADE:
 * Funcoes que complementam a biblioteca de validacao
 * 
 *  TODO:
 *  melhorar funcao de loadPageToPopUp diminuir dependencias
 *  bem como no modulo popUp, criar onTheFly o div modal
 */

/*
 carrega pagina para o div box_direita
 trata o erro causado pela hash tag # de localizao do modulo wizard (bbq)
 */
function loadPage(pagina, id, nome, modal){
	
	$.ajax({
		"type": "GET",
		"contentType": "application/json",
		"url": pagina,
		"beforeSend": function(xhr,settings){
			
			
			$("#"+$("form").attr("id")).validationEngine('hide');
			$("#box_direita").block({message: "<img border='0' src='"+"img/ajax-loader.gif"+"'/> &nbsp;Desenhando tela...",
								 css: { 'border': '0px',
										'background': 'transparent',
										'color': 'white'
								      } 
							});
		},
		"error": trataErro,
		"complete": function(){
				$("#box_direita").unblock();
		},
		"success": function(data, textStatus, xhr){			
			$("#box_direita").html("<div id=\""+id+"\">"+data+"<\div>");
			divObj = $('#'+id).dialog();
			divObj.dialog("destroy");
			divObj.dialog({autoOpen:false, position:['center',100], closeOnEscape: true, resizable:true, width: 800, modal: modal, close: function(ev, ui) { $(this).remove(); },});            
			divObj.dialog("option","title", nome);
			divObj.show();
			divObj.dialog("open");
			window.location.hash='';
			window.location.hash.replace('#', ''); 
		}
	 });	
}

/*
carrega pagina passando dados
em desuso
 */
function loadPageData(pagina,data){
	$('#cadastro').validationEngine('hide');
	$("#box_direita").block({message: "<img border='0' src='"+"img/ajax-loader.gif"+"'/> &nbsp;Desenhando tela...",
		css: { 'border': '0px',
			'background': 'transparent',
			'color': 'white'
		} 
	});
	$("#box_direita").load(pagina,data,function() {
		$("#box_direita").unblock();
	});
}


/*
cria um modal popUp e carrega paginda dentro dele
depende da variavel objetoSelecionado a ser declarada na pagina popUp
bem como funcao de fechamento que recebe o objetoSelecionado
esta funcao de fechamento deve ser declarada na pagina que chama o popUp
 */
function loadPageToPopUp(titulo, url,x,y,closeFunction){

	$.ajax({
		"type": "GET",
		"contentType": "application/json; charset=utf-8",
		"url": url,
		"error":trataErro,
		"success": function(data){

			if($("#modalPopUp").size()==1){
				try{ $("#modalPopUp").dialog('destroy');} catch(e){}
				$("#modalPopUp").remove();
			}
			$('body').prepend('<div id="modalPopUp" title=" "><span id="dialogMessage" >'+data+'</span></div>');
			var divObj = $('#modalPopUp');
			divObj.dialog({autoOpen:false, 
				closeOnEscape: true, 
				resizable:false,
				modal: true,
				close: function(event, ui) { 
					if(objetoSelecionado!=null){
						closeFunction(objetoSelecionado);
					}
				}
			});
			divObj.dialog( "option", "width", x );
			divObj.dialog( "option", "height", y );
			divObj.dialog("option","title", titulo);
			divObj.dialog('open');	
		}
	});	
}